xen: arm32: ensure cmpxchg has full barrier semantics
authorIan Campbell <ian.campbell@citrix.com>
Wed, 26 Mar 2014 13:38:38 +0000 (13:38 +0000)
committerIan Campbell <ian.campbell@citrix.com>
Thu, 3 Apr 2014 16:15:41 +0000 (17:15 +0100)
commitade960be492d0c12648fe86a121808d27adab8f9
tree40a8d60985707796dbf7d5627b8c5f7cf94f072d
parent7baf9ace8faa95700a5d7a537e2b2b4f2cab6bab
xen: arm32: ensure cmpxchg has full barrier semantics

Unrelated reads/writes should not pass the xchg.

Provide cmpxchg_local for parity with arm64, although it appears to be unused.
It also helps make the reason for the separation of __cmpxchg_mb more
apparent.

With this our cmpxchg is in sync with Linux v3.14-rc7.

Signed-off-by: Ian Campbell <ian.campbell@citrix.com>
Acked-by: Julien Grall <julien.grall@linaro.org>
Acked-by: Tim Deegan <tim@xen.org>
xen/include/asm-arm/arm32/system.h